package com.ly.heart.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ly.common.core.domain.BaseVo;
import lombok.Data;
import com.ly.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 金蝶-组装拆卸对象 king_assemble_info
 * @author wutao
 * @date 2024-07-26
 */
@TableName ("erp_king_assemble_info")
@ApiModel (value = "king_assemble_info对象", description = "金蝶-组装拆卸")
@Data
public class KingAssembleEntity extends BaseVo {
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    /**
     * 单据类型编码
     */
    @ApiModelProperty ("单据类型编码")
    @TableField ("doc_type_code")
    @Excel (name = "单据类型编码")
    private String docTypeCode;

    /**
     * 单据编码
     */
    @ApiModelProperty ("单据编码")
    @TableField ("doc_no")
    @Excel (name = "单据编码")
    private String docNo;

    /**
     * 事务类型；Assembly：组装; Dassembly：拆卸
     */
    @ApiModelProperty ("事务类型；Assembly：组装; Dassembly：拆卸")
    @TableField ("transaction_type")
    @Excel (name = "事务类型；Assembly：组装; Dassembly：拆卸")
    private String transactionType;

    /**
     * 日期
     */
    @ApiModelProperty ("日期")
    @TableField ("biz_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date bizTime;

    @ApiModelProperty ("审核日期")
    @TableField ("examine_time")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date examineTime;

    @ApiModelProperty ("审核人")
    @TableField ("examine_name")
    @Excel (name = "审核人")
    private String examineName;

    /**
     * 部门编码
     */
    @ApiModelProperty ("部门编码")
    @TableField ("biz_dept_code")
    @Excel (name = "部门编码")
    private String bizDeptCode;

    /**
     * 仓管员编码
     */
    @ApiModelProperty ("仓管员编码")
    @TableField ("keeper_user_code")
    @Excel (name = "仓管员编码")
    private String keeperUserCode;

    /**
     * 库存组编码
     */
    @ApiModelProperty ("库存组编码")
    @TableField ("inventory_dept_code")
    @Excel (name = "库存组编码")
    private String inventoryDeptCode;

    @ApiModelProperty ("本位币")
    @TableField ("standard_currency_code")
    @Excel (name = "本位币")
    private String standardCurrencyCode;

    /**
     * 备注
     */
    @ApiModelProperty ("备注")
    @TableField ("remarks")
    @Excel (name = "备注")
    private String remarks;

    /**
     * 成品货主类型；BD_OwnerOrg：业务组织；BD_Supplier：供应商；BD_Customer：客户
     */
    @ApiModelProperty ("成品货主类型；BD_OwnerOrg：业务组织；BD_Supplier：供应商；BD_Customer：客户")
    @TableField ("product_shipper_type")
    @Excel (name = "成品货主类型；BD_OwnerOrg：业务组织；BD_Supplier：供应商；BD_Customer：客户")
    private String productShipperType;

    /**
     * 成品货主编码，根据成品货主类型选择对应业务
     */
    @ApiModelProperty ("成品货主编码，根据成品货主类型选择对应业务")
    @TableField ("product_shipper_code")
    @Excel (name = "成品货主编码，根据成品货主类型选择对应业务")
    private String productShipperCode;

    @ApiModelProperty ("子件货主类型，取成品货主类型")
    @TableField ("child_shipper_type")
    private String childShipperType;

    @ApiModelProperty ("子件货主编码")
    @TableField ("child_shipper_code")
    private String childShipperCode;

    /**
     * 费用,取明细行总金额
     */
    @ApiModelProperty ("费用,取明细行总金额")
    @TableField ("fee_amount")
    @Excel (name = "费用,取明细行总金额")
    private String feeAmount;

    /**
     * 创建人
     */
    @ApiModelProperty ("创建人")
    @TableField ("create_user")
    @Excel (name = "创建人")
    private String createUser;

    /**
     * 创建时间
     */
    @ApiModelProperty ("创建时间")
    @TableField ("create_date")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date createDate;

    /**
     * 更新人
     */
    @ApiModelProperty ("更新人")
    @TableField ("update_user")
    @Excel (name = "更新人")
    private String updateUser;

    /**
     * 更新时间
     */
    @ApiModelProperty ("更新时间")
    @TableField ("update_date")
    @JsonFormat (pattern = "yyyy-MM-dd")
    @Excel (name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date updateDate;

    /**
     * 流程状态
     */
    @ApiModelProperty ("流程状态")
    @TableField ("state")
    @Excel (name = "流程状态")
    private String state;

    @ApiModelProperty ("流程实例id")
    @TableField ("instance_id")
    private String instanceId;
    /**
     * 是否可用
     */
    @ApiModelProperty ("是否可用")
    @TableField ("is_used")
    @Excel (name = "是否可用")
    @TableLogic
    private Integer isUsed;

    @ApiModelProperty ("业务type")
    @TableField (exist = false)
    private String businessType;

    @ApiModelProperty ("流程模型id")
    @TableField (exist = false)
    private String modelId;

    @ApiModelProperty ("物料名称")
    @TableField (exist = false)
    private String materialName;

    @ApiModelProperty ("物料编码")
    @TableField (exist = false)
    private String materialCode;

    @ApiModelProperty ("单位名称")
    @TableField (exist = false)
    private String meteringUnitName;

    @ApiModelProperty ("仓库编码")
    @TableField (exist = false)
    private String wareCode;

    @ApiModelProperty ("仓库名称")
    @TableField (exist = false)
    private String wareName;

    @ApiModelProperty ("仓位编码")
    @TableField (exist = false)
    private String regionCode;

    @ApiModelProperty ("仓位名称")
    @TableField (exist = false)
    private String regionName;

    @ApiModelProperty ("数量")
    @TableField (exist = false)
    private String num;

    @ApiModelProperty ("规格类型")
    @TableField (exist = false)
    private String model;

    @ApiModelProperty ("仓管员")
    @TableField (exist = false)
    private String keeperUserName;

    @ApiModelProperty ("成品货主名称")
    @TableField (exist = false)
    private String productShipperName;

    @ApiModelProperty ("子件货主名称")
    @TableField (exist = false)
    private String childShipperCodeName;

    @ApiModelProperty ("部门")
    @TableField (exist = false)
    private String bizDeptName;

    @ApiModelProperty ("库存组")
    @TableField (exist = false)
    private String inventoryDeptCodeName;

}
